/**
 * 单位（公司）管理 API
 */

import { get, post } from './request'

/**
 * 单位信息类型
 */
export interface CompanyVO {
  id: number // 单位ID
  companyName: string // 单位名称
  companyType?: string // 单位类型
  companyTypeDesc?: string // 单位类型描述
  status: number // 状态：1-正常 0-禁用
  parentId?: number // 上级单位ID
  contactPerson?: string // 联系人
  contactPhone?: string // 联系电话
  address?: string // 地址
  remark?: string // 备注
}

/**
 * 单位查询参数
 */
export interface CompanyQueryDTO {
  pageNum: number // 页码
  pageSize: number // 每页大小
  companyName?: string // 单位名称（模糊查询）
  status?: number // 状态：1-正常 0-禁用
  companyType?: string // 单位类型
}

/**
 * 分页查询单位列表
 * @param params 查询参数
 * @returns Promise 返回单位列表
 */
export function getCompanyPage(params: CompanyQueryDTO) {
  return post('/company/page', params)
}

/**
 * 获取所有单位列表（不分页）
 * @param status 状态：1-正常 0-禁用
 * @returns Promise 返回单位列表
 */
export function getAllCompanies(status?: number) {
  const params = status !== undefined ? { status } : {}
  return get('/company/list', params)
}

/**
 * 根据ID获取单位详情
 * @param id 单位ID
 * @returns Promise 返回单位详情
 */
export function getCompanyById(id: number) {
  return get(`/company/${id}`)
}
